一開始我其實有點困惑,醫院系統應該不只是病人使用,醫師、護理人員、行政人員甚至管理者,都可能需要使用系統,但如果全部一起做,範圍很容易變得非常大,所以我先把使用者角色整理出來。
病人/一般使用者
主要情境是:
我想去醫院看診 -> 找到適合的醫師 -> 選擇看診時間 -> 完成預約 -> 查看預約資訊
醫師/醫護人員
系統管理者
因此最後決定:
第一階段先專注在病人的預約掛號流程
這樣可以先完成一個完整的核心功能,再逐步擴充其他角色。
確定第一階段以病人為主之後,我開始思考:
如果我是第一次使用這個醫院網站,我會怎麼操作?
我先把流程簡化成:
進入醫院網站 -> 尋找醫師 -> 查看醫師詳細資訊 -> 選擇預約時間 -> 登入會員 -> 完成預約 -> 查看我的預約 -> 需要時取消預約
這個流程也成為後面Figma Wireframe與Prototype的基礎。
我沒有一開始就想「我要做幾個頁面」,而是先想:
使用者為了完成一件事情,需要經過哪些步驟?
我覺得這是這次需求分析中很重要的一個觀念。
有了使用者流程之後,就可以進一步整理需要哪些功能。
| 功能 | 說明 |
|---|---|
| 首頁 | 提供主要服務入口 |
| 醫院介紹 | 查看醫院基本資訊 |
| 醫師查詢 | 查詢醫師與科別 |
| 醫師詳細資訊 | 查看醫師專長與門診資訊 |
| 登入/註冊 | 會員身分驗證 |
| 預約掛號 | 選擇日期與看診時段 |
| 預約成功 | 顯示預約結果 |
| 我的預約 | 查看目前預約 |
| 預約詳細資訊 | 查看單筆預約內容 |
| 取消預約 | 取消既有預約 |
| 個人資料 | 查看與修改會員資料 |
| 就醫資訊 | 提供就醫流程與注意事項 |
這是我一開始比較大的問題。
因為如果以「完整醫療系統」來想,病人端、醫師端、管理者端好像都應該存在。
但如果全部一起做:
病人端+醫師端+管理者端+後端+資料庫
對我目前來說範圍實在太大。
而且我的目的不只是把功能「做出來」,還希望透過這個專案學習,工具使用和正式網站的開發流程,因此我最後決定採用分階段開發。
先完成:
首頁 -> 醫師查詢 -> 醫師詳細資訊 -> 登入 -> 預約掛號 -> 預約成功 -> 我的預約 -> 取消預約。
之後再加入醫師相關功能。
最後再加入管理後台。
這次需求分析也讓我發現:
網站開發不是看到畫面就直接開始寫 HTML。
我希望這個專案可以盡量模擬比較正式的軟體開發流程,所以目前規劃成:
需求分析 -> 使用者流程 -> Figma Wireframe -> Figma UI Design -> Figma Prototype -> Angular前端開發 -> TypeScript功能實作 -> ASP.NET Core Web API -> C#後端邏輯 ->Oracle資料庫 -> 前後端串接 -> 完成智慧醫院預約系統
這也是接下來30天的規劃方向。
這次我也有使用AI協助需求分析。
但我沒有直接叫AI:
幫我做一個完整的醫院網站。
而是把AI當成需求分析的輔助工具。
例如請AI幫我:
最後的功能取捨與開發範圍,還是由我自己決定。
我希望在這個專案中學習的是:
如何思考與開發一個系統,而不是單純讓AI幫我把系統產生出來。
以前我可能會覺得需求分析就是:
把我要做的功能列出來。
但實際開始做之後,我發現不是這麼簡單。
需求分析其實是在回答幾個問題:
1.誰會使用?
病人、醫師、管理者。
2. 使用者想完成什麼事情?
例如病人想完成一次預約掛號。
3.使用者會經過哪些步驟?
找醫師 -> 看醫師資訊 -> 選擇時間登 -> 登入 -> 預約。
4. 系統需要提供什麼功能?
醫師查詢、預約、我的預約、取消預約等。
5. 現階段到底要做到哪裡?
先完成病人端,再逐步擴充醫師端與管理者端。
所以我現在比較能理解:
需求分析不是在決定「我要做多少功能」,而是在確認「我要先解決什麼問題」。
完成需求分析後,下一步就要開始把這些需求轉換成實際的網站結構。
接下來會進入Figma Wireframe:
下一篇就開始把「需求」變成看得見的畫面。